#include<iostream>
#include<set>
using namespace std;

int n, k, ret, sum;
set<int> mp;
const int N = 30;
int arr[N];

void dfs(int pos)
{
	if (pos > k)
	{
		mp.insert(sum);
		return;
	}
	for (int i = pos; i <= n; i++)
	{
		sum += arr[i];
		dfs(i + 1);
		sum -= arr[i];
	}
}

bool is_prime(int x)
{
	for (int i = 2; i < x; i++)
	{
		if (x % i == 0) return false;
	}
	return true;
}
int main()
{
	cin >> n >> k;
	for (int i = 1; i <= n; i++) cin >> arr[i];

	dfs(1);

	for (auto ch : mp)
	{
		if (is_prime(ch)) ret++;
	}
	cout << ret;
	return 0;
}